<?php

/**
 * Subclass for performing query and update operations on the 'ad_descripcion_servicio' table.
 *
 * 
 *
 * @package lib.model
 */ 
class AdDescripcionServicioPeer extends BaseAdDescripcionServicioPeer
{
  public static function loadDataFromFile($eliminarRegistrosAnteriores=false)
  {
    if($eliminarRegistrosAnteriores)
      AdDescripcionServicioPeer::doDeleteAll();
    $resultado = array();
    $totalRegistros=0;
    $criteria = new Criteria();
    $criteria->add(CtControlPeer::CODIGO_ARCHIVO,'AD%', Criteria::LIKE);
    $archivoControl = CtControlPeer::doSelectOne($criteria);
    $archivo = @file(sfConfig::get('sf_upload_dir')."/".$archivoControl->getCodigoArchivo().'.TXT');
    if($archivo)
    {
      foreach ($archivo as $line_num => $line)
      {
        $datos = explode(",", $line);
        $descripcionServicio = new AdDescripcionServicio();
        $descripcionServicio->setFacturaNumero(trim($datos[0]));
        $descripcionServicio->setEntidadPrestadoraId($datos[1]);
        $descripcionServicio->setConceptoServicioSaludId($datos[2]);
        $descripcionServicio->setCantidad(trim($datos[3]));
        $descripcionServicio->setCantidadNumero($datos[3]);
        $descripcionServicio->setValorUnitario(trim($datos[4]));
        $descripcionServicio->setValorUnitarioNumero($datos[4]);
        $descripcionServicio->setValorTotal(trim($datos[5]));
        $descripcionServicio->setValorTotalNumero($datos[5]);
        if($descripcionServicio->save())
          $totalRegistros++;
      }
      $resultado['informacion']['AD']['registros-grabados'] = $totalRegistros;
    }
    else
      $resultado['errores']['AD'] = array('No se pudo leer el archivo '.$archivoControl->getCodigoArchivo());
    return $resultado;
  }
}
